package org.zhadoop.streaming.event;

import java.io.Serializable;

import com.thoughtworks.xstream.io.binary.Token.Attribute;
	
/**
 * 事件类型接口
 * @author zwd
 *
 */
public interface IEventType extends Serializable{
	/**
     * 获取某个属性的类型
     */
    public Attribute getAttribute(String attName);
    
    /**
     * 获得所有的属性类型
     * @return
     */
    public Attribute[] getAllAttributes();
    
    /**
     * 获取属性名称类
     * @return
     */
    public String[] getAllAttributeNames();
    
    /**
     * 获取属性类型
     * @return
     */
    public Class<?>[] getAllAttributeTypes();
    
    /**
     * 事件类型名称
     */
    public String getEventTypeName();
    
    /**
     * 
     * 获取属性名称的编号
     */
    public int getAttributeIndex(String propertyName);
    
    /**
    * 获取指定编号的属性名称
    */
   public String getAttributeName(int index);
   
   /**
    * 获得事件类型中属性个数
    * <功能详细描述>
    */
   public int getSize();
}
